package com.travelshare.business.service;

import java.util.List;
import com.travelshare.business.domain.InfoColumn;
import com.travelshare.common.core.domain.TreeSelect;
import com.travelshare.common.core.domain.entity.TreeColumnModel;

/**
 * 栏目信息Service接口
 * 
 * @author travelshare
 * @date 2024-02-22
 */
public interface IInfoColumnService 
{
    /**
     * 查询栏目信息
     * 
     * @param columnId 栏目信息主键
     * @return 栏目信息
     */
    public InfoColumn selectInfoColumnByColumnId(Long columnId);

    /**
     * 查询栏目信息列表
     * 
     * @param infoColumn 栏目信息
     * @return 栏目信息集合
     */
    public List<InfoColumn> selectInfoColumnList(InfoColumn infoColumn);

    /**
     * 新增栏目信息
     * 
     * @param infoColumn 栏目信息
     * @return 结果
     */
    public int insertInfoColumn(InfoColumn infoColumn);

    /**
     * 修改栏目信息
     * 
     * @param infoColumn 栏目信息
     * @return 结果
     */
    public int updateInfoColumn(InfoColumn infoColumn);

    /**
     * 批量删除栏目信息
     * 
     * @param columnIds 需要删除的栏目信息主键集合
     * @return 结果
     */
    public int deleteInfoColumnByColumnIds(Long[] columnIds);

    /**
     * 删除栏目信息信息
     * 
     * @param columnId 栏目信息主键
     * @return 结果
     */
    public int deleteInfoColumnByColumnId(Long columnId);
    
    /**
     * 查询栏目树结构信息
     * 
     * @param treeColumnModel 栏目信息
     * @return 栏目树信息集合
     */
    public List<TreeSelect> selectColumnTreeList(TreeColumnModel treeColumnModel);
}
